42 research outputs found
An exercise in transformational programming: Backtracking and Branch-and-Bound
We present a formal derivation of program schemes that are usually called Backtracking programs and Branch-and-Bound programs. The derivation consists of a series of transformation steps, specifically algebraic manipulations, on the initial specification until the desired programs are obtained. The well-known notions of linear recursion and tail recursion are extended, for structures, to elementwise linear recursion and elementwise tail recursion; and a transformation between them is derived too
Abstracte Datatypen en Categorie-Theorie
Sommige datatypen kunnen volledig met axioma's gekarakteriseerd worden, zonder op enigerlei wijze voor te schrijven hoe de elementen van het datatype er uit zien; we spreken dan van abstract datatype. We laten de karakterisering en enige stellingen en bewijzen in detail zien voor het cartesisch product en disjoint union van twee verzamelingen.\ud
\ud
De begrippen en methoden die een rol spelen komen uit de categorie-theorie
The Hough transform
Suppose you are given a number of points in a plane and want to have those lines that each contain a large number of the given points. The Hough transform is a computerized procedure for that task. We show how the original procedure could have been derived. The derivation has the following notable properties: the crucial genuine idea falls out quite naturally in the course of our derivation, and we exploit the addition of functions
Comparing Refinements for Failure and Bisimulation Semantics
Refinement in bisimulation semantics is defined differently from refinement in failure semantics: in bisimulation semantics refinement is based on simulations between labelled transition systems, whereas in failure semantics refinement is based on inclusions between decorated traces systems. There exist however pairs of refinements, for bisimulation and failure semantics respectively, that have almost the same properties. Furthermore, each refinement in bisimulation semantics implies its counterpart in failure semantics, and conversely each refinement in failure semantics implies its counterpart in bisimulation semantics defined on the canonical form of the compared processes
Exploring personalized life cycle policies
Ambient Intelligence imposes many challenges in protecting people's privacy. Storing privacy-sensitive data permanently will inevitably result in privacy violations. Limited retention techniques might prove useful in order to limit the risks of unwanted and irreversible disclosure of privacy-sensitive data. To overcome the rigidness of simple limited retention policies, Life-Cycle policies more precisely describe when and how data could be first degraded and finally be destroyed. This allows users themselves to determine an adequate compromise between privacy and data retention. However, implementing and enforcing these policies is a difficult problem. Traditional databases are not designed or optimized for deleting data. In this report, we recall the formerly introduced life cycle policy model and the already developed techniques for handling a single collective policy for all data in a relational database management system. We identify the problems raised by loosening this single policy constraint and propose preliminary techniques for concurrently handling multiple policies in one data store. The main technical consequence for the storage structure is, that when allowing multiple policies, the degradation order of tuples will not always be equal to the insert order anymore. Apart from the technical aspects, we show that personalizing the policies introduces some inference breaches which have to be further investigated. To make such an investigation possible, we introduce a metric for privacy, which enables the possibility to compare the provided amount of privacy with the amount of privacy required by the policy
Protocol Assuring Universal Language
Conventionally, interfaces of objects export a set of messages with their types, and suggest nothing about the order in which these services may be accessed. This leaves room for a large number of runtime errors or misbehaviours in type correct designs. To mend this, we introduce the notion of protocol, expressing offered and expected orderings of messages, along with a notion of protocol correctness. We do this by defining the Protocol Assuring Universal Language Paul, which describes protocol aspects of classes, and a semantics of in terms of CSP
An Elementary Semantics for Cardelli's System of Multiple Inheritance
In [Cardelli 84] Luca Cardelli gave a formal definition of a typed object-oriented language incorporating a sub-type relation used to describe multiple inheritance. Cardelli's fundamental result was a semantics for his system that enabled sub-typing to be modelled as straightforward set-inclusion. In this paper an alternative semantics for Cardelli's system is offered in which this result is proved in a more elementary framework